package cn.jc.springframework.beans.factory;

import cn.jc.springframework.beans.BeansException;
import cn.jc.springframework.beans.factory.config.AutowireCapableBeanFactory;
import cn.jc.springframework.beans.factory.config.BeanDefinition;
import cn.jc.springframework.beans.factory.config.BeanPostProcessor;
import cn.jc.springframework.beans.factory.config.ConfigurableBeanFactory;


/**
 * @Description:
 * @author: JC
 * @date: 2023/4/5 14:42
 */
public interface ConfigurableListableBeanFactory extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {

    BeanDefinition getBeanDefinition(String beanName) throws BeansException;

    void preInstantiateSingletons() throws BeansException;

    void addBeanPostProcessor(BeanPostProcessor beanPostProcessor);
}
